package com.j2eefast.flowable.bpm.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 劳务费结算单
 * bpm_bid_contract
 *
 * @author: summer
 * @date 2021-06-03 16:28
 */
@Data
@TableName("bpm_bid_invoice")
public class BpmBidInvoiceEntity implements Serializable {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;
    /**
     * 标题
     */
    @TableField(value = "title")
    private String title;
    /**
     * 优先级
     */
    @TableField(value = "priority")
    private String priority;
    /**
     * 项目档案id
     */
    @TableField(value = "project_id")
    private String projectId;
    /**
     * 项目经理
     */
    @TableField(value = "project_admin")
    private String projectAdmin;
    /**
     * 项目所属部门
     */
    @TableField(value = "project_dept")
    private String projectDept;
    /**
     * 处理意见
     */
    @TableField(value = "opinion")
    private String opinion;
    /**
     * 创建者
     */
    @TableField(value = "create_by")
    private String createBy;
    /**
     * 更新者
     */
    @TableField(value = "update_by")
    private String updateBy;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date updateTime;
    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;
    /**
     * 状态
     */
    @TableField(value = "status")
    private String status;
    /***/
    @TableField(value = "process_instance_id")
    private String processInstanceId;
    /**
     * 关联表单id
     */
    @TableField(value = "form_id")
    private String formId;
    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private String userId;
    /**
     * 表单的model key
     */
    @TableField(value = "model_key")
    private String modelKey;
    /***/
    @TableField(value = "type")
    private String type;
    /**
     * 发起人
     */
    @TableField(value = "launch_name")
    private String launchName;
    /**
     * 附言
     */
    @TableField(value = "attachment_text")
    private String attachmentText;
    /**
     * 开票申请单编号
     */
    @TableField(value = "invoice_id")
    private String invoiceId;
    /**
     * 项目名称
     */
    @TableField(value = "project_name")
    private String projectName;
    /**
     * 领票人
     */
    @TableField(value = "led_holder")
    private String ledHolder;
    /**
     * 合同编号
     */
    @TableField(value = "contract_id")
    private String contractId;
    /**
     * 委托单位
     */
    @TableField(value = "entrust_company")
    private String entrustCompany;
    /**
     * 合同甲方
     */
    @TableField(value = "part_a")
    private String partA;
    /**
     * 合同附件地址
     */
    @TableField(value = "attachment_url")
    private String attachmentUrl;
    /**
     * 合同附件
     */
    @TableField(value = "attachment")
    private String attachment;
    /**
     * 是否包含合同附件
     */
    @TableField(value = "contain_attachment")
    private String containAttachment;
    /**
     * 应贴票金额
     */
    @TableField(value = "ticketed_money")
    private String ticketedMoney;
    /**
     * 发票类型
     */
    @TableField(value = "invoice_type")
    private String invoiceType;
    /**
     * 项目内容
     */
    @TableField(value = "project_content")
    private String projectContent;
    /**
     * 发票金额（含税）
     */
    @TableField(value = "invoice_amount")
    private String invoiceAmount;
    /**
     * 单位名称
     */
    @TableField(value = "company")
    private String company;
    /**
     * 纳税人识别号
     */
    @TableField(value = "identification_number")
    private String identificationNumber;
    /**
     * 地址和联系电话
     */
    @TableField(value = "address_and_phone")
    private String addressAndPhone;
    /**
     * 开户行和账号
     */
    @TableField(value = "bank_and_account")
    private String bankAndAccount;
    /**
     * 工程名称
     */
    @TableField(value = "project_title")
    private String projectTitle;
    /**
     * 工程地址
     */
    @TableField(value = "project_address")
    private String projectAddress;
    /**
     * 三联单号
     */
    @TableField(value = "sanlian_id")
    private String sanlianId;
    /**
     * 开具体部门
     */
    @TableField(value = "issue_department")
    private String issueDepartment;
    /**
     * 合同金额
     */
    @TableField(value = "contract_money")
    private String contractMoney;
    /**
     * 已开具金额
     */
    @TableField(value = "amount_issued")
    private String amountIssued;
    /**
     * 工作方法
     */
    @TableField(value = "work_way")
    private String workWay;
    /**
     * 项目三联单中的三联单号
     */
    @TableField(value = "sanlian_id2")
    private String sanlianId2;
    /**
     * 工作量
     */
    @TableField(value = "workload")
    private String workload;
    /**
     * 金额
     */
    @TableField(value = "money")
    private String money;
    /**
     * 管理费比例
     */
    @TableField(value = "management_fee_rate")
    private String managementFeeRate;
    /**
     * 管理费浮动比例
     */
    @TableField(value = "management_fee_float_rate")
    private String managementFeeFloatRate;
    /**
     * 管理费金额（计算）
     */
    @TableField(value = "management_fee_money")
    private String managementFeeMoney;
    /**
     * 管理费金额（填写）
     */
    @TableField(value = "management_fee_money_print")
    private String managementFeeMoneyPrint;
    /**
     * 仪器租金比例
     */
    @TableField(value = "rent_rate")
    private String rentRate;
    /**
     * 仪器租金
     */
    @TableField(value = "rent")
    private String rent;
    /**
     * 材料费比例
     */
    @TableField(value = "material_rate")
    private String materialRate;
    /**
     * 材料费
     */
    @TableField(value = "material")
    private String material;
    /**
     * 报告审查费比例
     */
    @TableField(value = "report_rate")
    private String reportRate;
    /**
     * 报告审查费
     */
    @TableField(value = "report_money")
    private String reportMoney;
    /**
     * 税金比例
     */
    @TableField(value = "tax_rate")
    private String taxRate;
    /**
     * 税金
     */
    @TableField(value = "tax")
    private String tax;
    /**
     * 合计
     */
    @TableField(value = "total_amount")
    private String totalAmount;
    @TableField(value = "total2")
    private String total2;
    @TableField(value = "total3")
    private String total3;
    @TableField(value = "total4")
    private String total4;
    @TableField(value = "total5")
    private String total5;
    @TableField(value = "total6")
    private String total6;
    @TableField(value = "total7")
    private String total7;
    @TableField(value = "total8")
    private String total8;
    /**
     * 应缴款总计
     */
    @TableField(value = "total_contributions_due")
    private String totalContributionsDue;
    /**
     * 应贴发票金额
     */
    @TableField(value = "ticketed_money_amount")
    private String ticketedMoneyAmount;
    /**
     * 三联单开具日期
     */
    @TableField(value = "sanlina_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date sanlinaDate;
    /**
     * 项目三联单备注
     */
    @TableField(value = "remark2")
    private String remark2;
    /**
     * 项目三联单附件名称
     */
    @TableField(value = "attachment2")
    private String attachment2;
    /**
     * 项目三联单附件地址
     */
    @TableField(value = "attachment_url2")
    private String attachmentUrl2;
    /**
     * 开票日期
     */
    @TableField(value = "date_of_invoice")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date dateOfInvoice;
    /**
     * 开发票总额
     */
    @TableField(value = "invoice_money_amount")
    private String invoiceMoneyAmount;
    /**
     * 开发票税率
     */
    @TableField(value = "invoice_rate")
    private String invoiceRate;
    /**
     * 发票号码
     */
    @TableField(value = "invoice_code")
    private String invoiceCode;
    /**
     * 领票日期
     */
    @TableField(value = "invoice_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date invoiceDate;
    /**
     * 不含税金额
     */
    @TableField(value = "no_tax_money")
    private String noTaxMoney;
    /**
     * 不含税其他
     */
    @TableField(value = "no_tax_other")
    private String noTaxOther;
    /**
     * 不含税额总计
     */
    @TableField(value = "no_tax_amount")
    private String noTaxAmount;
    /**
     * 税额
     */
    @TableField(value = "tax_money")
    private String taxMoney;
    /**
     * 税额其他
     */
    @TableField(value = "tax_other")
    private String taxOther;
    /**
     * 税额合计
     */
    @TableField(value = "tax_amount")
    private String taxAmount;
    /**
     * 开发票总计
     */
    @TableField(value = "invoice_total")
    private String invoiceTotal;
    /**
     * 开发票登记表备注
     */
    @TableField(value = "remark3")
    private String remark3;
}
